/*
 * Cruiser.h
 *
 *  Created on: Jun 21, 2009
 *      Author: computer
 */

#ifndef CRUISER_H_
#define CRUISER_H_

#include "RectangularBoatShape.h"
#include "CruiserConfiguration.h"
#include "Boat.h"
#include "OverlapBoat.h"
#include "TooNearBoat.h"
#include "OutOfBound.h"

class Cruiser: public Boat {
public:
	Cruiser(const string&, const Point<int>&, const CruiserConfiguration*, char);
	virtual ~Cruiser();
	
	virtual bool fireToBoat(const Point<int>&, Arena*);
	virtual bool isDestroyed();
	virtual void write(Arena*) throw (OutOfBound, OverlapBoat, TooNearBoat);
	
private:
	RectangularBoatShape *body;
	int firedPoints;
};

#endif /* CRUISER_H_ */
